package com.lipaluma.field.validator.strategies;

import com.lipaluma.annotations.config.ValidationStrategy;

/**
 * Type of Strategy when the process returns error validations.
 * <p>
 * This enum can be used with the annotation {@link ValidationStrategy} on the type of the target class.<br/>
 * But, it is not necessary : this parameter can be pass as a parameter at the processAll method.
 * 
 * @author Mario
 */
public enum ValidationStrategyEnum {
	/**
	 * the process stops immediately at the first row that returns a validation error.
	 */
	STOP_ON_FIRST_VALIDATION_ERROR, 
	/**
	 * the process continues until the end of file and show all errors at the end.
	 */
	LET_FINISH_AND_SHOW_ERRORS, 
	
	/**
	 * the process continues until the end of file and returns all valids mapped Objects. objects not validated are filtered.
	 */
	FILTER_VALIDATION_ERRORS
}
